The Microsoft Windows (registered trademark) operating system provides an image formation system in which the printing condition determined according to an application program or a printer driver is stored as binary-type print setting information that is a DEVMODE data structure.
FIG. 10 is a diagram illustrating a structure of the DEVMODE data structure. The DEVMODE data structure is roughly configured by two regions. One is a Public region that is open to public, and the other is a Private region that is not open to public. The Public region stores print conditions related to basic print functions that are common to a plurality of printer types. Since the specification for the Public region is open, it is possible for a user to change the print conditions stored in the Public region through the application program.
The Private region stores print conditions related to print functions that are unique to each printer. The specification for the Private region is unique to each developer of the printer drivers. Since the specification for the Private region is not open, the print conditions stored in the Private region cannot be changed by the user through the application program.
However, the user may wish to change the print conditions stored in the Private region through the application program. In such a case, an expanding API (Application Programming Interface) is implemented in the printer driver to change the print condition stored in the Private region through the application program, and the application program calls the expanding API to change the print condition.
However, when the application program calls the expanding API to change the print condition, following problems occur.
The OS includes a 32-bit OS that handles 32-bit data and a 64-bit OS that handles 64-bit data. Similarly, the printer driver includes a 32-bit driver that handles 32-bit data and a 64-bit driver that handles 64-bit data. Only the 32-bit driver can be used on the 32-bit OS and only the 64-bit driver can used on the 64-bit OS.
Similarly, the application program includes a 32-bit application that handles 32-bit data and a 64-bit application that handles 64-bit data. Only the 32-bit application can be operated on the 32-bit OS. However, both of the 32-bit application and the 64-bit application can be operated on the 64-bit OS.
The 32-bit application cannot call the expanding API that is implemented in the 64-bit driver. Therefore, the 32-bit application that is operated on the 64-bit OS cannot change the print condition stored in the Private region.